package com.operator.Activitys.activity;

import android.content.Intent;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;

import com.flyco.tablayout.SegmentTabLayout;
import com.flyco.tablayout.listener.OnTabSelectListener;
import com.operator.Activitys.R;
import com.operator.Activitys.activity.base.BaseActivity;
import com.operator.Activitys.adapter.FragmentAdapter;
import com.operator.Activitys.fragment.CardOrderFragment;
import com.operator.Activitys.fragment.InstallOrderFragment;
import com.operator.Activitys.utils.Constant;

import java.util.ArrayList;
import java.util.List;

import butterknife.Bind;

/**
 * 项目名称：金泽云 手机app
 * 类描述：我的订单
 * 创建人：张飞祥
 * 创建时间：2018/5/21 9:15
 * 修改人：张飞祥
 * 修改时间：2018/5/21 9:15
 * 修改备注：
 */
public class MyOrderActivity extends BaseActivity implements OnTabSelectListener, ViewPager.OnPageChangeListener {

    //返回键
    @Bind(R.id.iv_return)
    ImageView ivReturn;
    //标题栏
    @Bind(R.id.tv_title)
    TextView tvTitle;

    //切换布局
    ViewPager vpOrder;
    //TabLayout
    SegmentTabLayout tabOrderLayout;

    //TabLayout 标题
    private String[] mTitles = {"号卡订单", "宽带订单"};

    //fragment 集合
    private List<Fragment> fragments = new ArrayList<>();
    //fragment 适配器
    private FragmentAdapter fragmentAdapter;

    @Override
    protected void initUI() {
        setContentView(R.layout.act_my_order);

        //TODO 初始化视图
        //滑动视图
        vpOrder = findViewById(R.id.vp_order);
        //TabLayout
        tabOrderLayout = findViewById(R.id.tab_order_layout);
    }

    @Override
    protected void initData() {
        //设置滑块数据
        tabOrderLayout.setTabData(mTitles);
        //TabLayout 事件监听
        tabOrderLayout.setOnTabSelectListener(this);
        //设置标题
        tvTitle.setText("我的订单");
        //显示返回按钮
        ivReturn.setVisibility(View.VISIBLE);
        //返回按钮点击事件
        ivReturn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                finish();
            }
        });

        //adapter 加载 fragment 具体 操作
        initAddFragmentToViewPager();

        /**
         * 根据上个页面传递过来的 tag 显示不同的页面
         */
        Intent intent = this.getIntent();
        if (intent != null){
            int index = intent.getIntExtra(Constant.INTENT_MY_ORDER_TAG,0);
            //将 ViewPager 滑动到相应的位置
            vpOrder.setCurrentItem(index);
        }
    }


    /**
     * 初始化 适配器数据
     */
    private void initAddFragmentToViewPager() {
        //添加 Fragment
        fragments.add(new CardOrderFragment());          //号卡订单
        fragments.add(new InstallOrderFragment());       //宽带订单

        //fragment 适配器
        fragmentAdapter = new FragmentAdapter(getSupportFragmentManager(), fragments);
        // 配置适配器
        vpOrder.setAdapter(fragmentAdapter);
        //滑动事件监听
        vpOrder.setOnPageChangeListener(this);
    }

    /**
     * TabLayout 事件监听
     *
     * @param position
     */
    @Override
    public void onTabSelect(int position) {
        //将 ViewPager 滑动到相应的位置
        vpOrder.setCurrentItem(position);
    }

    @Override
    public void onTabReselect(int position) {
    }

    /**
     * ViewPager 滑动事件
     * @param position
     * @param positionOffset
     * @param positionOffsetPixels
     */
    @Override
    public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
    }
    @Override
    public void onPageSelected(int position) {
        //将 TabLayout 设置到相应的位置
        tabOrderLayout.setCurrentTab(position);
    }
    @Override
    public void onPageScrollStateChanged(int state) {

    }
}
